//放在入口函数内
$(function () {
  //需求1: 点击a链接,显示隐藏盒子
  $("#loginBox a").on("click", function () {
    //loginBox隐藏, registerBox显示
    $("#loginBox").hide();
    $("#registerBox").show();
  });
  $("#registerBox a").on("click", function () {
    //loginBox显示, registerBox隐藏
    $("#loginBox").show();
    $("#registerBox").hide();
  });

  //需求2:自定义校验规则
  console.log(layui.form);
  let form = layui.form;
  //verify()的值是一个对象
  form.verify({
    uname: [
      /^[\u4E00-\u9FA5\uF900-\uFA2D|\w]{2,20}$/,
      "用户名长度2-20位,包含中文，英文，数字及下划线",
    ],

    //属性是规则名称,值可以数组或者函数!
    pwd: [
      //第一个值是校验规则
      /^[\S]{6,15}$/,
      //报错信息
      "密码的长度为6-15个字符,且不能包含空格!!",
    ],
    repwd: function (value) {
      //规则添加给谁,value就是他的
      //value也可以写成 $("[name=repassword]").val();
      // let oldPwd = $("#registerBox [name=password]").val();
      // let newPwd = $('#registerBox name=repassword').val();
      // console.log(oldPwd);
      // console.log(newPwd);
      // console.log(value);
      // return '禁止提交';
      let pwd = $("#registerBox [name=password]").val();
      //判断:第一次输入的密码和第二次如果不同,报错
      if (value !== pwd) {
        return "输入的俩次密码不一致!!";
      }
    },
  });

  //需求3:注册(axios)
  //引入layer优化
  let layer = layui.layer;
  $("#form-reg").on("submit", function (e) {
    //阻止表单提交
    e.preventDefault();
    axios({
      method: "POST",
      url: "/api/reguser",
      //这个服务器,后端不允许传递 json 格式数据,只允许传递 a=1&b=2&c=3
      data: $("#form-reg").serialize(),
    }).then((res) => {
      //console.log(res.data);
      //判断状态码
      if (res.data.status !== 0) {
        // return alert(res.data.message);
        return layer.msg(res.data.message);
      }
      //注册成功
      //   alert(res.data.message);
      layer.msg("恭喜您,注册用户成功!");
      //清空表单
      $("#form-reg")[0].reset();
      //手动触发点击事件,显示登录页面
      $("#registerBox a").click();
    });
  });

  //需求4: 登录(axios)
  $("#form-login").on("click", function (e) {
    e.preventDefault();
    axios({
      method: "POST",
      url: "/api/login",
      data: $("#form-login").serialize(),
    }).then((res) => {
      // console.log(res.data);
      let obj = res.data;
      if (obj.status !== 0) {
        return layer.msg(obj.message);
      }
      //成功:提示,跳转首页,保存token
      layer.msg("恭喜您,登录成功!");
      location.href = "/index.html";
      localStorage.setItem("token", obj.token);
    });
  });
});
